37 research outputs found

    Fluent Logic Workflow Analyser: A Tool for The Verification of Workflow Properties

    Full text link
    In this paper we present the design and implementation, as well as a use case, of a tool for workflow analysis. The tool provides an assistant for the specification of properties of a workflow model. The specification language for property description is Fluent Linear Time Temporal Logic. Fluents provide an adequate flexibility for capturing properties of workflows. Both the model and the properties are encoded, in an automated way, as Labelled Transition Systems, and the analysis is reduced to model checking.Comment: In Proceedings LAFM 2013, arXiv:1401.056

    Automated Workarounds from Java Program Specifications based on SAT Solving

    Get PDF
    The failures that bugs in software lead to can sometimes be bypassed by the so-called workarounds: when a (faulty) routine fails, alternative routines that the system offers can be used in place of the failing one, to circumvent the failure. Existing approaches to workaround-based system recovery consider workarounds that are produced from equivalent method sequences, automatically computed from user-provided abstract models, or directly produced from user-provided equivalent sequences of operations. In this paper, we present two techniques for computing workarounds from Java code equipped with formal specifications, that improve previous approaches in two respects. First, the particular state where the failure originated is actively involved in computing workarounds, thus leading to repairs that are more state specific. Second, our techniques automatically compute workarounds on concrete program state characterizations, avoiding abstract software models and user-provided equivalences. The first technique uses SAT solving to compute a sequence of methods that is equivalent to a failing method on a specific failing state, but which can also be generalized to schemas for workaround reuse. The second technique directly exploits SAT to circumvent a failing method, building a state that mimics the (correct) behaviour of a failing routine, from a specific program state too. We perform an experimental evaluation based on case studies involving implementations of collections and a library for date arithmetic, showing that the techniques can effectively compute workarounds from complex contracts in an important number of cases, in time that makes them feasible to be used for run-time repairs. Our results also show that our state-specific workarounds enable us to produce repairs in many cases where previous workaround-based approaches are inapplicable.Fil: Uva, Marcelo Ariel. Universidad Nacional de Río Cuarto; ArgentinaFil: Ponzio, Pablo Daniel. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Río Cuarto; ArgentinaFil: Regis, Germán. Universidad Nacional de Río Cuarto; ArgentinaFil: Aguirre, Nazareno Matias. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Universidad Nacional de Río Cuarto; ArgentinaFil: Frias, Marcelo Fabian. Consejo Nacional de Investigaciones Científicas y Técnicas. Centro Científico Tecnológico Conicet - Córdoba; Argentina. Instituto Tecnológico de Buenos Aires; Argentin

    Verificación de propiedades temporales en PPML

    Get PDF
    Product Process Modeling Languaje(PPML) es un lenguaje formal para modelar Procesos de Negocios que posee una semántica basada en sistemas de transición de estados temporizados. El lenguaje posee elementos que lo hacen apropiado para la especificación formal de procesos de negocios con restricciones temporales, concurrencia, etc. Sin embargo, no existe actualmente ninguna herramienta de soporte al lenguaje; en particular, el lenguaje carece de herramientas de verificación de propiedades temporales asociadas a las especificaciones. En este trabajo proponemos, en primer lugar, una codificación de la semántica de PPML en autómatas temporizados, a través de una traducción de PPML al lenguaje UPPAAL. En segundo lugar, aprovechamos esta traducción, que ha sido automatizada en un prototipo, para realizar verificación de propiedades CTL (branching time) de especificaciones PPML, utilizando la herramienta asociada a UPPAAL.Product Process Modeling Languaje(PPML) is a formal language for the specification of Business Processes, it has a formal semantics based on timed transition systems. The language has artifacts that make it suitable for the formal specification of Business Processes with temporal restrictions, concurrency, etc. . Nevertheless, there is no support tool for the language. Particulary, the language lacks tools for the verification of temporal properties associated to specifications. In this paper we propose, first, a codification of the PPML semantics into timed automatas through a translation from PPML to the language UPPAAL. Second, we use this translation, that was automated in a prototype, in order to verify CTL (branching time) propierties of the PPML specifications, using the UPPAAL asociated tool.Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    Verificación de propiedades temporales en PPML

    Get PDF
    Product Process Modeling Languaje(PPML) es un lenguaje formal para modelar Procesos de Negocios que posee una semántica basada en sistemas de transición de estados temporizados. El lenguaje posee elementos que lo hacen apropiado para la especificación formal de procesos de negocios con restricciones temporales, concurrencia, etc. Sin embargo, no existe actualmente ninguna herramienta de soporte al lenguaje; en particular, el lenguaje carece de herramientas de verificación de propiedades temporales asociadas a las especificaciones. En este trabajo proponemos, en primer lugar, una codificación de la semántica de PPML en autómatas temporizados, a través de una traducción de PPML al lenguaje UPPAAL. En segundo lugar, aprovechamos esta traducción, que ha sido automatizada en un prototipo, para realizar verificación de propiedades CTL (branching time) de especificaciones PPML, utilizando la herramienta asociada a UPPAAL.Product Process Modeling Languaje(PPML) is a formal language for the specification of Business Processes, it has a formal semantics based on timed transition systems. The language has artifacts that make it suitable for the formal specification of Business Processes with temporal restrictions, concurrency, etc. . Nevertheless, there is no support tool for the language. Particulary, the language lacks tools for the verification of temporal properties associated to specifications. In this paper we propose, first, a codification of the PPML semantics into timed automatas through a translation from PPML to the language UPPAAL. Second, we use this translation, that was automated in a prototype, in order to verify CTL (branching time) propierties of the PPML specifications, using the UPPAAL asociated tool.Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    Verificación de propiedades temporales en PPML

    Get PDF
    Product Process Modeling Languaje(PPML) es un lenguaje formal para modelar Procesos de Negocios que posee una semántica basada en sistemas de transición de estados temporizados. El lenguaje posee elementos que lo hacen apropiado para la especificación formal de procesos de negocios con restricciones temporales, concurrencia, etc. Sin embargo, no existe actualmente ninguna herramienta de soporte al lenguaje; en particular, el lenguaje carece de herramientas de verificación de propiedades temporales asociadas a las especificaciones. En este trabajo proponemos, en primer lugar, una codificación de la semántica de PPML en autómatas temporizados, a través de una traducción de PPML al lenguaje UPPAAL. En segundo lugar, aprovechamos esta traducción, que ha sido automatizada en un prototipo, para realizar verificación de propiedades CTL (branching time) de especificaciones PPML, utilizando la herramienta asociada a UPPAAL.Product Process Modeling Languaje(PPML) is a formal language for the specification of Business Processes, it has a formal semantics based on timed transition systems. The language has artifacts that make it suitable for the formal specification of Business Processes with temporal restrictions, concurrency, etc. . Nevertheless, there is no support tool for the language. Particulary, the language lacks tools for the verification of temporal properties associated to specifications. In this paper we propose, first, a codification of the PPML semantics into timed automatas through a translation from PPML to the language UPPAAL. Second, we use this translation, that was automated in a prototype, in order to verify CTL (branching time) propierties of the PPML specifications, using the UPPAAL asociated tool.Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    Productos como referentes explícitos en el modelado de procesos de negocios

    Get PDF
    La necesidad de eficiencia y organización en un mundo cada vez más competitivo, ha impulsado, en la última década, la investigación y desarrollo de distintos métodos y formalismos (lenguajes) en el área de procesos de negocios; particularmente ha tenido un gran auge la especificación y verificación de modelos de procesos de negocios. Entre los lenguajes más difundidos podemos mencionar Business Process Modeling Notation (BPMN), para el cual se han aportado numerosos trabajos para el análisis formal de sus modelos. Sin embargo, como sucede en la gran mayoría de este tipo de lenguajes de modelado, no proveen como parte del lenguaje un objeto que permita especificar productos (una referencia a un objeto empírico con propiedades) como un referente explícito del modelo. En este trabajo analizamos diferentes trabajos en el área de métodos formales que tienen como objetivo brindar soporte formal a diferentes lenguajes para el modelado de procesos de negocios. Retomamos un formalismo para especificar procesos de negocios, que provee la especificación de productos como referentes explícitos del modelo y extendemos algunas de sus características con el fin de ampliar su campo de aplicación. También proponemos una sintaxis de alto nivel para el mismo, que facilita la especifiación de sus modelos.VI Workshop Ingeniería de Software (WIS)Red de Universidades con Carreras en Informática (RedUNCI

    Productos como referentes explícitos en el modelado de procesos de negocios

    Get PDF
    La necesidad de eficiencia y organización en un mundo cada vez más competitivo, ha impulsado, en la última década, la investigación y desarrollo de distintos métodos y formalismos (lenguajes) en el área de procesos de negocios; particularmente ha tenido un gran auge la especificación y verificación de modelos de procesos de negocios. Entre los lenguajes más difundidos podemos mencionar Business Process Modeling Notation (BPMN), para el cual se han aportado numerosos trabajos para el análisis formal de sus modelos. Sin embargo, como sucede en la gran mayoría de este tipo de lenguajes de modelado, no proveen como parte del lenguaje un objeto que permita especificar productos (una referencia a un objeto empírico con propiedades) como un referente explícito del modelo. En este trabajo analizamos diferentes trabajos en el área de métodos formales que tienen como objetivo brindar soporte formal a diferentes lenguajes para el modelado de procesos de negocios. Retomamos un formalismo para especificar procesos de negocios, que provee la especificación de productos como referentes explícitos del modelo y extendemos algunas de sus características con el fin de ampliar su campo de aplicación. También proponemos una sintaxis de alto nivel para el mismo, que facilita la especifiación de sus modelos.VI Workshop Ingeniería de Software (WIS)Red de Universidades con Carreras en Informática (RedUNCI

    Open Arithmetics Fortran 90

    Get PDF
    Los errores de redondeo introducidos por las diferentes representaciones finitas de los números reales en los lenguajes de programación y su propagación a través de la operaciones aritméticas constituye el problema central del cálculo numérico. Cada aritmética particular de punto flotante induce una forma de propagación distinta. Por ese motivo se han desarrollado numerosas bibliotecas que implementan aritméticas alternativas a las provistas por estos lenguajes. Sin embargo su utilización en los programas que realizan largas secuencias de operaciones como los destinados al cálculo numérico, principal aplicación de estas bibliotecas, implica un costoso trabajo de adaptación de estos programas a la nueva aritmética. En este artículo se describe el desarrollo y uso de OAF90, una herramienta que realiza dicha adaptación de manera automática para programas Fortran 90, uno de los lenguajes mas utilizados en el campo de aplicación del calculo numérico. OAF90 junto con su predecesor para Fortran 77 permiten incorporar aritméticas externas en cualquier programa FortranII Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    Open Arithmetics Fortran 90

    Get PDF
    Los errores de redondeo introducidos por las diferentes representaciones finitas de los números reales en los lenguajes de programación y su propagación a través de la operaciones aritméticas constituye el problema central del cálculo numérico. Cada aritmética particular de punto flotante induce una forma de propagación distinta. Por ese motivo se han desarrollado numerosas bibliotecas que implementan aritméticas alternativas a las provistas por estos lenguajes. Sin embargo su utilización en los programas que realizan largas secuencias de operaciones como los destinados al cálculo numérico, principal aplicación de estas bibliotecas, implica un costoso trabajo de adaptación de estos programas a la nueva aritmética. En este artículo se describe el desarrollo y uso de OAF90, una herramienta que realiza dicha adaptación de manera automática para programas Fortran 90, uno de los lenguajes mas utilizados en el campo de aplicación del calculo numérico. OAF90 junto con su predecesor para Fortran 77 permiten incorporar aritméticas externas en cualquier programa FortranII Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    Análisis estático de programas

    Get PDF
    En el presente trabajo se describen las líneas de investigación en desarrollo por el grupo de investigación en análisis estático de propiedades de programas. Los integrantes del grupo atacan el problema del análisis de propiedades de programas mediante diferentes enfoques. Algunos trabajan a nivel de modelos mientras que otros lo hacen directamente a nivel de código fuente. Se utilizan técnicas tanto de análisis estático liviano como pesados (basados en demostradores de teoremas o model-checking). En una línea de trabajo se investiga en análisis estático de propiedades de programas a nivel de código fuente, usando diferentes técnicas como métodos livianos basados en interpretación abstracta y lógicas especí cas como separation logic. Otra línea realiza análisis de propiedades de seguridad en programas en formatos de bajo nivel (bytecode) utilizando sistemas de tipos desarrollados a medida. La última línea de trabajo se basa en el análisis de propiedades de modelos de procesos de negocios usando métodos formales.Eje: Aspectos teóricos de ciencias de la computaciónRed de Universidades con Carreras en Informática (RedUNCI
    corecore